A graphic interchange format (better known as GIF) is an image file format that can be animated by combining multiple images or frames into a single file. The multiple images within a single GIF file can then be displayed in succession to create an animated clip or a short movie. By default, animated GIFs display the sequence of images only once, stopping when the last image or frame is displayed, although it can also loop endlessly or stop after a few sequences.
In some cases, a user may wish to create a GIF from a single still image, by applying motion to the image to turn the single image into an animated GIF. One conventional way to generate a GIF from a single image, is to first use a flow estimation method to obtain the flow information between the consecutive frames of a video, and then directly apply the feed-forward warping to the given digital image. However, such a method will usually result in discontinuous artifacts and black holes in the rendered result. Alternatively, a different conventional technique employs a recurrent network to encode the image difference as motions but is demonstrated to be ineffective on natural scene data because image difference is hard to depict the temporal dynamic changes. Another conventional technique uses a network to encode motions, but extracts the motion from a single frame, which thus resembles a pose instead of motion. Further, these conventional techniques deal with rigid objects, such as moving digits or human bodies and are not well-equipped to deal with challenging natural scene data, such as clouds, fire, water, and wind.